<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--
        当前页面中，所有的不加任何修饰的相对路径（即没有 ./ 或者 ../ 修饰的路径）前面都会自动补充一个 herf 中的内容
    -->
    <base href="/path/">
</head>
<body>


    <img src="static/img/luffy.jpg" alt="">

    <!--
        引入图片
        1.相对路径，以当前资源所在的路径作为出发点去寻找目标资源
            不以 / 开头
            ./ 表示当前资源上的路径
            ../ 表示当前资源的上一层路径

            客户端再请求的 html 资源中遇到一个相对路径的资源，再向服务器发送一个请求
            http://localhost:8080/path/index.html
            index.html = 当前资源
            http://localhost:8080/path/ = 当前路径
            相对路径的规划就是在当前资源的所在路径后，拼接目标资源的路径，然后发送请求找目标资源
            "static/img/luffy.jpg" => 客户端就会向 http://localhost:8080/path/static/img/luffy.jpg










            如果在项目中的 a/b/c/test.html 中访问资源 "static/img/luffy.jpg"
            很明显是访问不了的 => 因为会去访问 http://localhost:8080/path/a/b/c/static/img/luffy.jpg => 404

            如果想要正确访问资源，可以在项目中的 a/b/c/test.html 中访问资源 "../../../static/img/luffy.jpg"
            就会去访问 http://localhost:8080/path/a/b/c/../../../static/img/luffy.jpg => 200，得到资源











            如果项目的磁盘结构和你的 URL 结构是不匹配的，如在项目中的 WEB-INF/views/view1.html 中访问资源 "static/img/luffy.jpg"
            就算访问资源路径是 "../../static/img/luffy.jpg" 也是加载不到的
            甚至连 WEB-INF/views/view1.html 都访问不了，因为 WEB-INF 下的资源是受到保护的
            如果想要访问，就需要使用请求转发来访问

            假设使用了请求转发真的访问到了 WEB-INF/views/view1.html，在其继续访问 "../../static/img/luffy.jpg" 也是加载不到的
            http://localhost:8080/path/viewPath  =>  请求转发：http://localhost:8080/path/WEB-INF/views/view1.html
            使用请求转发的时候，浏览器端路径不发生变化
         => http://localhost:8080/path/../../static/img/luffy.jpg  =>  http://localhost:8080/static/img/luffy.jpg
            很显然不能拿到请求的目标资源

            所以想要避免项目的磁盘结构和你的 URL 结构是不匹配导致的 404
            例如上面就要根据：http://localhost:8080/static/img/luffy.jpg 判断
            用了请求转发真的访问到了 WEB-INF/views/view1.html，在其继续访问 "static/img/luffy.jpg" 即可









        2.绝对路径
            为了更加方便的解决项目的磁盘结构和你的 URL 结构是不匹配
            可以始终以固定的路径作为出发点去寻找目标资源，但是和当前资源的所在路径没有关系

            访问若是直接访问 "/path/static/img/luffy.jpg"
            路径是接在端口后面：http://localhost:8080/path/static/img/luffy.jpg

            这样就完全不用考虑当前资源所在路径是什么了
            （1）以 / 开头，在不同的项目中，固定的路径出发点可能不一致
            （2）优点是目标资源路径的写法不会受到当前资源所在资源路径的影响，不同的位置，绝对路径写法一致
            （3）缺点是绝对路径需要补充路径的上下文，但是问题是项目的路径上下文是可以改变的
             => 如何做到在修改了项目上下文的时候，还可以做到便捷的修改绝对路径呢？
             => 可以通过一个标签的 head>base>herf 属性，定义相对路径的公共前缀，通过公共前缀把一个相对路径转换为绝对路径

            <base href="/path/">  ==> 绝对路径就可以修改成为 "static/img/luffy.jpg"
            这样的话若是项目的上下文修改了就可以统一对所有的绝对路径进行修改






    -->




</body>
</html>